package com.ruoyi.project.yy.service.impl;

import com.ruoyi.project.yy.domain.YyRole;
import com.ruoyi.project.yy.mapper.YyRoleMapper;
import com.ruoyi.project.yy.service.YyRoleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class YyRoleServiceImpl implements YyRoleService {
    @Autowired
    private YyRoleMapper roleMapper;

    /**
     * 根据条件分页查询角色数据
     *
     * @param role 角色信息
     * @return 角色数据集合信息
     */
    @Override
    public List<YyRole> selectRoleList(YyRole role) {
        return roleMapper.selectRoleList(role);
    }


    /**
     * 通过角色ID查询角色
     *
     * @param roleId 角色ID
     * @return 角色对象信息
     */
    @Override
    public YyRole selectRoleById(Long roleId) {
        return roleMapper.selectRoleById(roleId);
    }


    /**
     * 新增保存角色信息
     *
     * @param role 角色信息
     * @return 结果
     */
    @Override
    public int insertRole(YyRole role)
    {
        // 新增角色信息
        return roleMapper.insertRole(role);
    }

    /**
     * 修改保存角色信息
     *
     * @param role 角色信息
     * @return 结果
     */
    @Override
    public int updateRole(YyRole role) {
        // 修改角色信息
        return roleMapper.updateRole(role);

    }

    /**
     * 批量删除角色信息
     *
     * @param roleIds 需要删除的角色ID
     * @return 结果
     */
    @Override
    public int deleteRoleByIds(Long[] roleIds)
    {
//        for (Long roleId : roleIds)
//        {
//            checkRoleAllowed(new SysRole(roleId));
//            SysRole role = selectRoleById(roleId);
//            if (countUserRoleByRoleId(roleId) > 0)
//            {
//                throw new CustomException(String.format("%1$s已分配,不能删除", role.getRoleName()));
//            }
//        }
//        // 删除角色与菜单关联
//        roleMenuMapper.deleteRoleMenu(roleIds);
//        // 删除角色与部门关联
//        roleDeptMapper.deleteRoleDept(roleIds);
        return roleMapper.deleteRoleByIds(roleIds);
    }




}
